As-if-serial exception handling semantics for Java futures
نویسندگان
چکیده
Exception handling enables programmers to specify the behavior of a program when an exceptional event occurs at runtime. Exception handling, thus, facilitates software fault tolerance and the production of reliable and robust software systems. With the recent emergence of multi-processor systems and parallel programming constructs, techniques are needed that provide exception handling support in these environments that are intuitive and easy to use. Unfortunately, extant semantics of exception handling for concurrent settings is significantly more complex to reason about than their serial counterparts. In this paper, we investigate a similarly intuitive semantics for exception handling for the future parallel programming construct in Java. Futures are used by programmers to identify potentially asynchronous computations and to introduce parallelism into sequential programs. The intent of futures is to provide someperformance benefits through the use of method-level concurrency while maintaining as-if-serial semantics that novice programmers can easily understand — the semantics of a programwith futures is the same as that for an equivalent serial version of the program.We extend this model to provide asif-serial exception handling semantics. Using thismodel our runtime delivers exceptions to the same point it would deliver them if the programwas executed sequentially.We present the design and implementation of our approach and evaluate its efficiency using an open source Java virtual machine. © 2009 Elsevier B.V. All rights reserved.
منابع مشابه
Programming with exceptions in JCilk
JCilk extends the serial subset of the Java language by importing the fork-join primitives spawn and sync from the Cilk multithreaded language, thereby providing call-return semantics for multithreaded subcomputations. In addition, JCilk transparently integrates Java’s exception handling with multithreading by extending the semantics of Java’s try and catch constructs, but without adding new ke...
متن کاملPPPJ special issue-Foreword
Originally established in 2002 in Kilkenny, Ireland, the Principles and Practice of Programming in Java (PPPJ) conference series has been held 2003 in Dublin (Ireland), 2004 in Las Vegas (USA), 2006 in Mannheim (Germany), 2007 in Monte de Caparica–Lisbon (Portugal), and 2008 in Modena (Italy). The conference has experienced a steady growth in participation because it is a lively forum for leadi...
متن کاملAxiomatic Semantics for Java in Isabelle/HOL
We introduce a Hoare-style calculus for a nearly full subset of sequential Java, which we call Java. In particular, we present solutions to challenging features like exception handling, static initialization of classes and dynamic binding of methods. This axiomatic semantics has been proved sound and complete w.r.t. pour operational semantics of Java, described in earlier papers. To our knowled...
متن کاملThe JCilk Language for Multithreaded Computing
JCilk extends the Java language to provide call-return semantics for multithreading, much as Cilk does for C. Java’s built-in thread model does not support the passing of exceptions or return values from one thread back to the “parent” thread that created it. JCilk imports Cilk’s fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. Th...
متن کاملHosted by OOPSLA 2005 Preface
JCilk extends the Java language to provide call-return semantics for multithreading, much as Cilk does for C. Java’s built-in thread model does not support the passing of exceptions or return values from one thread back to the “parent” thread that created it. JCilk imports Cilk’s fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. Th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Sci. Comput. Program.
دوره 74 شماره
صفحات -
تاریخ انتشار 2009